﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Text;
using System.Security.Cryptography;
using System.Web.Mail;
//using System.Net.Mail;
//using System.Net.Mail;

public partial class ForgotPassword : System.Web.UI.Page
{
    ShopLaptopConnection conn;
    protected void Page_Load(object sender, EventArgs e)
    {
        conn = new ShopLaptopConnection();
    }

    public string CreateLostPassword(int PasswordLength)
    {
        string _allowedChars = "abcdefghijk0123456789mnopqrstuvwxyz";
        Random randNum = new Random();
        char[] chars = new char[PasswordLength];
        int allowedCharCount = _allowedChars.Length;

        for (int i = 0; i < PasswordLength; i++)
        {
            chars[i] = _allowedChars[(int)((_allowedChars.Length) * randNum.NextDouble())];
        }
        return new string(chars);
    }

    public string MaHoaMatKhau(string password)
    {
        UnicodeEncoding encoding = new UnicodeEncoding();
        Byte[] hashBytes = encoding.GetBytes(password);
        // Compute the SHA-1 hash
        SHA1CryptoServiceProvider sha1 = new SHA1CryptoServiceProvider();
        Byte[] cryptPassword = sha1.ComputeHash(hashBytes);
        return BitConverter.ToString(cryptPassword);
    }

    private string NoiDungMail()
    {
        string NoiDung = "";
        Customer cus = conn.GetCustomerByEmail(txtEmail.Text + "");
        string MatKhauMoi = "", TenDangNhap = "";
        int check = 0;
        NoiDung = "Đây là Mail gửi đến từ website Shopshoes.vn..<br>";
        MatKhauMoi = CreateLostPassword(7);
        NoiDung += "Mật khẩu mới của bạn là: " + MatKhauMoi;
        TenDangNhap = cus.CusUser + "";
        check = conn.UpdateCusPassByUsername(TenDangNhap, MaHoaMatKhau(MatKhauMoi));
        NoiDung += "<br>Sau khi đăng nhập bạn nˆn đổi lại mật khẩu để tiện cho việc đăng nhập lần tiếp theo";
        NoiDung += "<br><br><hr>Vui lòng không trả lời Mail này!";
        
        return NoiDung;
    }
    protected void btnGuiYeuCau_Click(object sender, EventArgs e)
    {
        MailMessage objEmail = new MailMessage();
        Customer cus = conn.GetCustomerByEmail(txtEmail.Text + "");
        string adminEmail = "hucabaly@yahoo.com.vn";
        if (cus!=null)
        {
            objEmail.To= txtEmail.Text+"";
            objEmail.From = adminEmail+"";
            objEmail.Subject = "Thông tin về mật khẩu của bạn";
            objEmail.BodyEncoding = Encoding.UTF8;
            objEmail.Body = NoiDungMail();
            objEmail.Priority = MailPriority.High;
            objEmail.BodyFormat = MailFormat.Html;
            //try
            //{
                
                SmtpMail.Send(objEmail);
                ScriptManager.RegisterStartupScript(this, this.GetType(), "redirectMe", "alert('Chúng tôi đã gửi mật khẩu cho bạn.\\n\\n Vui lòng check mail để lấy lại mật khẩu!');location.href='Login.aspx';", true);
            //}
            //catch (Exception exc)
            //{
            //    Response.Write("Send failure: " + exc.ToString());
            //}
        }
        else
        {
            ScriptManager.RegisterStartupScript(this, this.GetType(), "redirectMe", "alert('Email của bạn chưa đăng ký!');", true);
        }
    }
}
